package ducksimulator

import "fmt"

//interface
type QuackBehavior interface {
	Quack()
}

// impl 1
type Quack struct {}
func (q Quack) Quack() {
	fmt.Println("Quack")
}

// impl 2
type MuteQuack struct {}
func (q MuteQuack) Quack() {
	fmt.Println("<< silence >>")
}

// impl 3
type Squeak struct {}
func (q Squeak) Quack() {
	fmt.Println("Squeak")
}